Rapid development of a digital signal processing technology results an obvious demand for a high-speed high-precision digital to analog converter (Digital Analog Converter, DAC for short). A high-speed DAC generally is a current source DAC, and a high precision requires good matching between unit current sources. For a specific current source DAC, the prior art has introduced a lot, and a current source DAC has been widely applied to various industrial scenarios. However, for circuit implementation of a DAC, a system error is one of main factors that affect the matching between the unit current sources. System errors mainly include a linear gradient error and a square gradient error. A random error generally can be reduced significantly by increasing the area of a unit current source, but the system error may deteriorate with the increase of the circuit area. The system error can be changed by designing different turn-on sequences for unit current sources in a current source array. In the prior art, solutions for controlling a turn-on sequence of unit current sources in a current source array mainly include: sequential turn-on, symmetrical turn-on, layered symmetrical turn-on, random turn-on, and so on. However, the existing solutions for controlling a turn-on sequence of unit current sources are not ideal for eliminating a system error.